home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / gui / precog2_1.lha / Precognition2_1 / src / src.lha / Library / pcgWindowClass.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-16  |  3.7 KB  |  140 lines

  1. #ifndef PCGWINDOWCLASS_H
  2. #define PCGWINDOWCLASS_H
  3.  
  4. #include "pcgWindow.h"
  5. #include "InteractorClass.h"
  6.  
  7. struct pcgWindowClass
  8. {
  9.    PClass *isa;
  10.    char  *ClassName;
  11.  
  12.    void   (*CleanUp)
  13.              __PARMS(( PObject *self ));
  14.    tPoint (*Location)
  15.              __PARMS(( GraphicObject *self ));
  16.    tPoint (*SetLocation)
  17.              __PARMS(( GraphicObject *self,
  18.               PIXELS      LeftEdge,
  19.               PIXELS      TopEdge ));
  20.    tPoint (*Size)
  21.              __PARMS(( GraphicObject *self ));
  22.    tPoint (*AskSize)
  23.              __PARMS(( GraphicObject *self,
  24.               PIXELS            Width,
  25.               PIXELS            Height ));
  26.    tPoint (*SetSize)
  27.              __PARMS(( GraphicObject *self,
  28.               PIXELS      Width,
  29.               PIXELS      Height ));
  30.    UWORD  (*SizeFlags)
  31.              __PARMS(( GraphicObject *self ));
  32.  
  33.    void (*Render)
  34.              __PARMS(( GraphicObject *self,
  35.               RastPort  *RPort ));
  36.  
  37.    BOOL (*SetTitle)
  38.              __PARMS(( GraphicObject *self,
  39.               char       *title ));
  40.  
  41.    char *(*Title)
  42.              __PARMS(( GraphicObject *self ));
  43.  
  44. /* additions for font information */
  45.    TextAttr *(*DefaultFont) __PARMS(( GraphicObject *self ));
  46.    BOOL (*SetDefaultFont) __PARMS(( GraphicObject *self, TextAttr *default_font ));
  47.  
  48.    AlignInfo *(*TextAlignment) __PARMS(( GraphicObject *self ));
  49.  
  50.    BOOL (*SetTextAlignment)
  51.              __PARMS(( GraphicObject *self,
  52.               UBYTE         Flags,
  53.               BYTE          Xpad,
  54.               BYTE          Ypad ));
  55.  
  56.    PClass *BuilderMethods; /* pointer to more methods only used by the
  57.                           ** interface builder.
  58.                           */
  59.  
  60.    struct pcgWindow *(*InteractorWindow)
  61.              __PARMS(( Interactor *self ));
  62.  
  63.    void (*SetInteractorWindow)
  64.              __PARMS(( Interactor *self,
  65.               struct pcgWindow *window ));
  66.  
  67.    Gadget *(*FirstGadget)
  68.              __PARMS(( Interactor *self ));
  69.  
  70.    USHORT  (*nGadgets)
  71.              __PARMS(( Interactor *self ));
  72.  
  73.    ULONG (*IDCMPFlags)
  74.              __PARMS(( Interactor *self ));
  75.  
  76.    USHORT (*ClaimEvent)
  77.              __PARMS(( Interactor *self,
  78.               IntuiMessage *event ));
  79.  
  80.    USHORT (*Respond)
  81.              __PARMS(( Interactor *self,
  82.               IntuiMessage *event ));
  83.  
  84.    void (*Refresh)
  85.              __PARMS(( Interactor *self ));
  86.  
  87.    BOOL (*EnableIactor)
  88.              __PARMS(( Interactor *self,
  89.               BOOL       enable ));
  90.  
  91.    BOOL (*isEnabled)
  92.              __PARMS(( Interactor *self  ));
  93.  
  94.    BOOL (*Activate)
  95.              __PARMS(( Interactor *self,
  96.               BOOL       activate ));
  97.  
  98.    BOOL (*isActive)
  99.              __PARMS(( Interactor *self ));
  100.  
  101. /*--- New Methods ----------------------------*/
  102.  
  103.    struct Window *(*OpenWindow)
  104.              __PARMS(( pcgWindow *self ));
  105.  
  106.    void (*CloseWindow)
  107.              __PARMS(( pcgWindow *self ));
  108.  
  109.    struct Window *(*iWindow)
  110.              __PARMS(( pcgWindow *self ));
  111.  
  112.    RastPort *(*RPort)
  113.              __PARMS(( pcgWindow *self ));
  114.  
  115.    ULONG (*SetIDCMPFlags)
  116.              __PARMS(( pcgWindow *self,
  117.               ULONG       newflags ));
  118.  
  119.    void (*AddGraphicObject)
  120.              __PARMS(( pcgWindow *self, GraphicObject *graphic ));
  121.  
  122.    void (*RemoveGraphicObject)
  123.              __PARMS(( pcgWindow *self, GraphicObject *graphic ));
  124.  
  125.    void (*AddInteractor)
  126.              __PARMS(( pcgWindow *self, Interactor *interactor ));
  127.  
  128.    void (*RemoveInteractor)
  129.              __PARMS(( pcgWindow *self, Interactor *interactor ));
  130.  
  131.    void (*AddMenuStrip) __PARMS(( pcgWindow *window, Menu *menustrip ));
  132.  
  133.    void (*RemoveMenuStrip) __PARMS(( pcgWindow *window ));
  134. };
  135.  
  136. struct pcgWindowClass *pcgWindowClass __PARMS(( void ));
  137.  
  138. void pcgWindowClass_Init __PARMS(( struct pcgWindowClass *class ));
  139.  
  140. #endif